package net.sxnic.ugr.resource;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import net.sxinfo.core.entity.AbstractEntity;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

/**
 * 
 * Comments: 资源表
 * <p>
 * Author：孙宇飞
 * <p>
 * Create Date：2011-9-15
 * <p>
 * 
 * 
 */
@Entity
@Table(name = "ugr_resource")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Resource extends AbstractEntity {

	private static final long serialVersionUID = -3262743999013976209L;

	/**
	 * 有管理权限的 前缀
	 */
	public static final String SYSTEM_ADMIN = "admin";

	/**
	 * 一般是实体代码，比如user，basecode，role
	 */
	@Column(unique = true, nullable = false)
	private String code;

	/**
	 * 一般是实体名称，比如用户，基本码，角色
	 */
	private String name;

	/**
	 * 模块 比如 comm通用模块 ugr用户组模块 ，当前项目给定一个模块，比如oa、item、jiangli、jianding等
	 */
	@Column(name = "module_")
	private String module;

	/**
	 * struts2 映射 namespace
	 */
	private String namespace;

	/**
	 * 所属子系统code ,如果未空表示公用，如果有值则表示子系统专用
	 */
	private String siteCode;

	public Resource() {
		super();
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getModule() {
		return module;
	}

	public void setModule(String module) {
		this.module = module;
	}

	public String getNamespace() {
		return namespace;
	}

	public void setNamespace(String namespace) {
		this.namespace = namespace;
	}

	public String getSiteCode() {
		return siteCode;
	}

	public void setSiteCode(String siteCode) {
		this.siteCode = siteCode;
	}

}
